package com.tancire.file.service;

import com.tancire.file.bean.SaveFileBean;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

/**
 * 文件上传接口
 *
 * @author chenchao
 */
public interface ISysFileService {

    /**
     * 文件上传接口
     *
     * @param file 上传的文件
     * @return 访问地址
     * @throws Exception
     */
    public SaveFileBean uploadFile(MultipartFile file, String auth) throws Exception;

    /**
     * 文件上传接口 私有文件上传
     *
     * @param file 上传的文件
     * @return 访问地址
     * @throws Exception
     */
    default String uploadFileForPrivate(MultipartFile file) throws Exception {
        return null;
    }

    /**
     * 文件下载接口 私有文件读
     *
     * @param fileName 上传的文件
     * @return 访问地址
     * @throws Exception
     */
    default byte[] downloadFileForPrivate(String fileName) throws Exception {
        return null;
    }

    /**
     * 图片预览
     *
     * @param res
     * @param path
     */
    void previewFile(HttpServletResponse res, String path) throws Exception;
}
